package com.itheima.test;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.read.listener.ReadListener;
import lombok.extern.slf4j.Slf4j;

import java.util.Map;

@Slf4j
public class ClueDataListener  implements ReadListener<TbClueExcelVo> {
    // 从第二行开始读取  每读取一行数据会调用一次invoke方法   数据会自动封装到TbClueExcelVo中
    @Override
    public void invoke(TbClueExcelVo data, AnalysisContext context) {
       log.info("读取到了一行数据:{}",data);
       //处理
    }
    /**
     * 所有数据解析完成了 会触发doAfterAllAnalysed方法一次
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        log.info("excel 解析完毕");
    }
    // 第一行是头部, 会在这里输出
    // 如果不需要打印Header 该方法可以省略
    @Override
    public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
        log.info("解析到Excle 的头部:{}");
        headMap.forEach((key,value)->{
            log.info("解析到Excle 的头部:"+value.getStringValue());
        });
    }
}
